/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package slowotok;

import java.util.ArrayList;
import java.util.List;
import slowotok.Pozycja;

/**
 *
 * @author PiotrGl
 */
public class Slowotok {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Slownik sl = new Slownik();
        TablicaLit tab = new TablicaLit();
        System.out.println(tab.toString());
        List<List<Pozycja>> kolejne = new ArrayList<List<Pozycja>>();
        //Pozycja pos = new Pozycja(0, 0);
        List<Pozycja> pozycje;// = new ArrayList<Pozycja>();
        for (int i =0; i<16;i++){
            pozycje = new ArrayList<Pozycja>();
            pozycje.add(new Pozycja(i/4, i%4));
            kolejne.add(pozycje);
        }
        int i = 0;
        while (kolejne.size()>i) {
            //znajdz wszystkich sąsiadów na podstawie listy
            pozycje = tab.getNeighbours(kolejne.get(i));
            //System.out.println(i);
            //i dodaj kazdego do obecnej listy
            for (Pozycja posd : pozycje) {
                //skopiuj obecną listę
                List<Pozycja> pozycje2 = new ArrayList<Pozycja>(kolejne.get(i));
                //dodaj ostatnią pozycję
                pozycje2.add(posd);
                //dodaj całą listę
                if (sl.isInDictionary(tab.getWord(pozycje2))){
                    kolejne.add(pozycje2);
                }
                //System.out.println(tab.getWord(pozycje2));
            }
            i++;
        }
        //wyświetl zawartość
        for (List<Pozycja> kol: kolejne) {
            if (tab.getWord(kol).length()>=3 && sl.getDictionaryWord(tab.getWord(kol)).equals(tab.getWord(kol).toLowerCase())){
                System.out.println(tab.getWord(kol) +"\t\t\t"+ sl.isInDictionary(tab.getWord(kol))+"\t \t"+ sl.getDictionaryWord(tab.getWord(kol)));  
            }
        }
        
    }
    

    
}
